package CollectionTest;

import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;

/**
 * 请定义一个Collection类型的集合，存储以下分数信息：
 * 88.5,39.2,77.1,56.8,89.0,99.0,59.5
 * <p>
 * **要求:**
 * <p>
 * 请编程实现以下功能：
 * 使用增强for遍历所有元素，并打印
 * 使用增强for遍历所有元素，打印不及格的分数；
 * 使用增强for遍历所有元素，计算不及格的分数的数量，和平均分，并打印计算结果。
 * 使用增强for遍历所有元素，求出最高分，并打印；
 */

public class Test04 {
    public static void main(String[] args) {
        Collection<Double> list = new ArrayList<>();

        list.add(88.5);
        list.add(39.2);
        list.add(77.1);
        list.add(56.8);
        list.add(89.0);
        list.add(99.0);
        list.add(59.5);

        med1(list);
        med2(list);
        med3(list);
        med4(list);

    }

    public static void med1(Collection<Double> list) {
        Iterator<Double> iterator = list.iterator();
        System.out.println("使用增强for遍历所有元素");
        for (double score : list) {
            System.out.println(score);
        }
    }

    public static void med2(Collection<Double> list) {
        Iterator<Double> iterator = list.iterator();
        System.out.println("使用增强for遍历不及格的分数");
        for (double score : list) {
            if (score < 60) {
                System.out.println(score);
            }
        }
    }

    //    计算不及格的分数的数量，和平均分，并打印计算结果。
    public static void med3(Collection<Double> list) {
        int num = 0;
        double sum = 0.0;
        double ave = 0.0;
        Iterator<Double> iterator = list.iterator();
        for (double score : list) {
            if (score < 60) {
                num++;
                sum += score;
                ave = sum / num;
            }
        }
        System.out.println("不及格的有：" + num + "不及格的平均分是：" + ave);
    }

    public static void med4(Collection<Double> list) {
        double max = 0.0;
        Iterator<Double> iterator = list.iterator();
        for (double score : list) {
            if (score > max) {
                max = score;
            }
        }
        System.out.println("集合中的最大值是："+max);
    }

}
